#ifndef _TEMPLATE_H_
#define _TEMPLATE_H_

class DrinkTemplate
{
public:
    virtual void BoildWater() = 0; // 煮水
    virtual void Brew() = 0; // 冲泡
    virtual void PourInCup() = 0; // 倒入杯中
    virtual void AddSomething() = 0; // 添加辅助材料
    void Make();
};

class Coffee : public DrinkTemplate
{
public:
    virtual void BoildWater(); // 煮水
    virtual void Brew(); // 冲泡
    virtual void PourInCup(); // 倒入杯中
    virtual void AddSomething(); // 添加辅助材料
};

class Tea : public DrinkTemplate
{
public:
    virtual void BoildWater(); // 煮水
    virtual void Brew(); // 冲泡
    virtual void PourInCup(); // 倒入杯中
    virtual void AddSomething(); // 添加辅助材料
};

#endif // _TEMPLATE_H_